# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-p2p/amule/amule-2.2.0_pre20070422.ebuild,v 1.1 2007/04/22 11:48:32 armin76 Exp $

inherit subversion autotools eutils flag-o-matic wxwidgets

ESVN_REPO_URI="https://amule-adunanza.svn.sourceforge.net/svnroot/amule-adunanza/branches/mrhyde_test"
ESVN_PROJECT="amule-adunanza"
S="${WORKDIR}/amule-adunanza"

DESCRIPTION="aMule AdunanzA, IL software p2p per la comunita' fastweb"
HOMEPAGE="http://www.adunanza.net/"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="amuled debug gtk nls remote stats unicode geoip optimize upnp ed2k"

DEPEND="dev-util/subversion
	!net-p2p/amule
	dev-libs/crypto++
	=x11-libs/wxGTK-2.8*
	>=sys-libs/zlib-1.2.1
	stats? ( >=media-libs/gd-2.0.26 )
	geoip? ( dev-libs/geoip )
	upnp? ( >=net-libs/libupnp-1.6.6 )
	remote? ( >=media-libs/libpng-1.2.0
	unicode? ( >=media-libs/gd-2.0.26 ) )"

pkg_setup() {
   ewarn ""
   ewarn "Questo ebuild e' basato su SVN snapshot e sul relativo port"
   ewarn "sperimentale della patch adunanza. Pertanto e' doppiamente "
   ewarn "instabile e non vi e' garanzia di corretto funzionamento   "
   ewarn ""

   if ! use gtk && ! use remote && ! use amuled; then
        eerror ""
        eerror "You have to specify at least one of gtk, remote or amuled"
        eerror "USE flag to build amule."
        eerror ""
        die "Invalid USE flag set"
    fi

    if use stats && ! use gtk; then
        einfo "Note: You would need both the gtk and stats USE flags"
        einfo "to compile aMule Statistics GUI."
        einfo "I will now compile console versions only."
    fi

    if use stats && ! built_with_use media-libs/gd jpeg; then
        die "media-libs/gd should be compiled with the jpeg use flag when you have the stats use flag set"
    fi

}

src_unpack() {
	subversion_src_unpack
        AT_M4DIR="m4" eautoreconf
	elibtoolize
}

pkg_preinst() {
	if use amuled || use remote; then
		enewgroup p2p
		enewuser p2p -1 -1 /home/p2p p2p
	fi
}

src_compile() {
		local myconf=""

		WX_GTK_VER="2.8"

		if use gtk; then
                                einfo "wxGTK with gtk support will be used"
                                need-wxwidgets unicode
                else
                                einfo "wxGTK without X support will be used"
                                need-wxwidgets base
                fi

                if use gtk ; then
                                use stats && myconf="${myconf}
                                        --enable-wxcas
                                        --enable-alc"
                                use remote && myconf="${myconf}
                                        --enable-amule-gui"
                else
                                myconf="
                                        --disable-monolithic
                                        --disable-amule-gui
                                        --disable-wxcas
                                        --disable-alc"
		fi

		econf \
			--with-wx-config=${WX_CONFIG} \
			--with-wxbase-config=${WX_CONFIG} \
                        --enable-amulecmd \
                        $(use_enable debug) \
                        $(use_enable !debug optimize) \
                        $(use_enable amuled amule-daemon) \
                        $(use_enable geoip) \
                        $(use_enable nls) \
                        $(use_enable remote webserver) \
                        $(use_enable stats cas) \
                        $(use_enable stats alcc) \
			$(use_enable ed2k) \
			${myconf} || die

		# we filter ssp until bug #74457 is closed to build on hardened
# 		filter-flags -fstack-protector -fstack-protector-all

		emake || die
}

src_install() {
		make DESTDIR=${D} install || die

		if use amuled; then
				newconfd ${FILESDIR}/amuled.confd amuled
				newinitd ${FILESDIR}/amuled.initd amuled
		fi

		if use remote; then
				newconfd ${FILESDIR}/amuleweb.confd amuleweb
				newinitd ${FILESDIR}/amuleweb.initd amuleweb
		fi
}

pkg_postinst() {
	ewarn "Per maggiori informazioni sullo sviluppo di aMule AdunanzA"
	ewarn "e per richieste di supporto potete consultare il forum della"
	ewarn "comunita': http://forum.adunanza.net/forumdisplay.php?f=25"
}
